package db.dictionaryTrie;

import java.util.HashMap;

/**
 * 字典树节点
 */
public class TrieNode {

    /**
     * 当前节点存储的字符，默认为空字符
     */
    char data = '\0';

    /**
     * 当前字符是否为一个Word的结尾，默认为false
     */
    boolean isWordEnd = false;

    /**
     * 当前节点的所有子节点，默认为空
     * 使用HashMap存储子节点以便支持所有字符，而不仅仅是英文字母，并且查询效率更高
     */
    HashMap<Character, TrieNode> childTrieNodeMap = new HashMap<>();

    public char getData() {
        return data;
    }

    public void setData(char data) {
        this.data = data;
    }

    public boolean isWordEnd() {
        return isWordEnd;
    }

    public void setWordEnd(boolean wordEnd) {
        isWordEnd = wordEnd;
    }

    public HashMap<Character, TrieNode> getChildTrieNodeMap() {
        return childTrieNodeMap;
    }

    public void setChildTrieNodeMap(HashMap<Character, TrieNode> childTrieNodeMap) {
        this.childTrieNodeMap = childTrieNodeMap;
    }
}
